1. What WINTRACE will Do. Trap GPF's and, if the program was compiled with debug information, display the source and line number Monitor resource usage and ,if the program was compiled with debug information, display the source and line number that allocated the resource Perform parameter validation for API calls and break when an error is detected. Trace API Calls Display Control Properties for Visual Basic Forms Trace Events for Visual Basic Forms Display detailed module information including Embedded resources You can add your own tracing\checking functions 2. This is Shareware. The registered version comes with: All the Source and Make Files Instructions & Samples of how to extend Wintrace You can register on compuserve by using GO SWREG or send $20 to Steve Bridges 73 Avon ST New Haven CT 06511 Any questions or problems email me at 71507,1033 Installing Wintrace. The Install program displays two listboxes; the first, labeled "Source", Lists the names, size and time stamps of the files the install program needs to copy to your windows and window system directories. The second listbox, labeled "Location of Files with the same name" , Lists the location and details of files that already exist on your system with the same name. You can elect to either overwrite the files currently on your system with the ones delivered with wintrace or not. Note. Some earlier versions of TOOLHELP had bugs. The Files shipped with wintrace are as follows: CTL3D.DLL Version 1.13 of CTL3D (Goes in Windows System Directory) TOOLHELP.DLL Version 3.11 (Goes in Windows System Directory) WINTRACE.INI INI file for Wintrace (Goes in Windows Directory) WINTRACE.HLP On-line Help File WINTRACE.EXE Main EXE WINTRDLL.DLL Support DLL for Wintrace.exe WINTRVB.DLL Support DLL for Visual Basic SQL.API Exported Functions used by SQLSERVER COMMON. API Commonly called APIs such as GetMessage etc. TOOLHELP.API List of Functions in TOOLHELP.DLL COMMDLG.API List of Exported functions from COMMDLG.DLL MMSYSTEM.API List of Exported Functions from MMSYSTEM.DLL VER .API List of exported Functions from VER.DLL WINTRACE.API List of APIs used by WINTRACE to build API LIST UNDOC .API List of Undocumented Exported Functions DEMO.EXE Demonstration EXE DEMO.C Accompanying C file for the DEMO The Files from WINTRACE.HLP down may reside in any directory. This directory though must be specified as the working directory when you start wintrace. The install will fail if You do not have write access to the Windows system directory or the files to be replaced are read only or you have share loaded and one of the modules to be copied is already loaded.. You may optionally leave CTL3D.DLL in the same directory as WINTRACE.EXE and WINTRDLL.DLL Manual Install. If you cannot install wintrace using the supplied install.exe then the following manual procedure can be used : 1. copy TOOLHELP.DLL to your windows system directory renaming it to TOOLHELP.DLL 2. Optionally copy CTL3D.DLL to your windows system directory. 3. copy WINTRACE.INI to your windows directory. Running the DEMO. A sample program, DEMO.EXE, is included to demonstrate the debugging capabilities of wintrace. To run the demo do the following: 1. Start Wintrace Executing. 2. Start the Demo Program. 3. Click on the Wintrace Debug Button (it looks like a pair of glasses). 4. From the Tasks list select DEMO and click on the Mark Imports button. Wintrace will automatically select all APIs in the API list window that DEMO.EXE imports. 5. Check all the options in the "Additional Options" group. 6. Click on Add. 7. Click on Done. You will now have a window , currently minimized, with the caption "Debug Windows". Return to the Demo program and click on the "Alloc Local Memory" button. The list Box will display "Local Alloc - XXXX" where the XXXX represents the Local Handle. Open up the window with the caption "Debug Windows" and select refresh from the options menu. You should see the following line : LOCALALLOC called from line 65 of demo.c module demo task demo handle XXXX type HLOCAL size 30. double click on the line to examine the contents of the local memory. Select the Counts menu item from the Options menu to see how many times each API that is being monitored has been called. Select "Show Source" from the options menu to open the source window. Return to the demo and select the Overwrite Memory option. Wintrace will activate with an error text window, a call stack window and a source window detailing the type of error and hilighting the line of source in question. At this point you may choose either Terminate Task or Continue.